#ifndef TEXTURE_MANAGER_H_INCLUDED
#define TEXTURE_MANAGER_H_INCLUDED

#include "Singleton.h"
#include "Texture.h"
#include <map>

class TextureManager : public Uncopyable
{
public:
	bool Load(const std::string& fileName);
	bool LoadTex(const std::string& path, bool tran);
	void DrawTexture(const std::string& textureName);
	Texture* GetTexture(const std::string& texPath);

private:
	TextureManager();
	friend class Singleton<TextureManager>;
	
	//vector of smart pointers to textures.
	std::map<std::string, Texture*> m_textures;
	std::map<std::string, Texture*>::iterator m_it;
};

typedef Singleton<TextureManager> TheTextureManager;
#endif